home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / internet-drafts / draft-ietf-sip-discovery-01.txt < prev    next >
Text File  |  1993-06-07  |  85KB  |  2,863 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        W A Simpson
  8. Internet Draft                                                Daydreamer
  9. expires in six months                                           May 1993
  10.  
  11.  
  12.  
  13.                           SIP System Discovery
  14.  
  15.  
  16.  
  17. Status of this Memo
  18.  
  19.    This memo is the product of the SIP Working Group of the Internet
  20.    Engineering Task Force (IETF).  Comments on this memo should be
  21.    submitted to the sip@caldera.usc.edu mailing list.
  22.  
  23.    Distribution of this memo is unlimited.
  24.  
  25.    This document is an Internet Draft.  Internet Drafts are working
  26.    documents of the Internet Engineering Task Force (IETF), its Areas,
  27.    and its Working Groups.  Note that other groups may also distribute
  28.    working documents as Internet Drafts.  Internet Drafts are draft
  29.    documents valid for a maximum of six months.  Internet Drafts may be
  30.    updated, replaced, or obsoleted by other documents at any time.  It
  31.    is not appropriate to use Internet Drafts as reference material or to
  32.    cite them other than as a ``working draft'' or ``work in progress.''
  33.    Please check the 1id-abstracts.txt listing contained in the
  34.    internet-drafts Shadow Directories on nic.ddn.mil, nnsc.nsf.net,
  35.    nic.nordu.net, ftp.nisc.sri.com, or munnari.oz.au to learn the
  36.    current status of any Internet Draft.
  37.  
  38. Abstract
  39.  
  40.    This document specifies ICMP messages for the identification and
  41.    location of adjacent SIP systems.  This is intended to replace ARP,
  42.    ICMP Router Advertisement, ICMP Redirect, ICMP Information, ICMP
  43.    Mask, and OSPF Hello in the SIP environment.  There are also elements
  44.    of the OSI ES-IS and IS-IS Hello.
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Simpson                  expires in six months                  [Page i]
  59. DRAFT                       system discovery                    May 1993
  60.  
  61.  
  62. 1.  Terminology
  63.  
  64.    The following terms have a precise meaning when used in this
  65.    document:
  66.    system          a device that implements the Internet Protocol, IP [9].
  67.  
  68.    intermediate-system
  69.                    a system that forwards datagrams, as specified in [2].
  70.                    Often called a router or gateway.  This does not include
  71.                    systems that, though capable of forwarding, have that
  72.                    capability turned off.  Nor does it include systems that
  73.                    do forwarding only as required to obey Source Route
  74.                    options.
  75.  
  76.    end-system      any system that is not acting as an intermediate-system.
  77.                    Often called a host.
  78.  
  79.    dumb            the minimal implementation.  This is not meant in a
  80.                    perjorative sense.  It is intended that every mechanism
  81.                    be defined in such a way that it is implementable on a
  82.                    minimal system.
  83.  
  84.    smart           an improved implementation, possibly requiring more
  85.                    internal resources, while using less external resources.
  86.  
  87.    multicast       unless otherwise qualified, means the use of either IP
  88.                    multicast [4] or IP broadcast [6] service.
  89.  
  90.    link            a communication facility or medium over which systems
  91.                    can communicate at the link layer; that is, the protocol
  92.                    layer immediately below IP.  The term "physical network"
  93.                    has sometimes been used (imprecisely) for this.
  94.                    Examples of links are LANs (possibly bridged to other
  95.                    LANs), wide-area store-and-forward networks, satellite
  96.                    channels, and point-to-point links.
  97.  
  98.    multicast link  a link over which IP multicast or IP broadcast service
  99.                    is supported.  This includes broadcast media such as
  100.                    LANs and satellite channels, single point-to-point
  101.                    links, and some store-and-forward networks such as SMDS
  102.                    networks [8].
  103.  
  104.    interface       a system's attachment point to a link.  It is possible
  105.                    (though unusual) for a system to have more than one
  106.                    interface to the same link.  Interfaces are uniquely
  107.                    identified by an identifier; a single interface may have
  108.                    more than one such identifier.
  109.  
  110.  
  111.  
  112.  
  113. Simpson                  expires in six months                  [Page 1]
  114. DRAFT                       system discovery                    May 1993
  115.  
  116.  
  117.    multicast interface
  118.                    an interface to a multicast link; that is, an interface
  119.                    to a link over which IP multicast or IP broadcast
  120.                    service is supported.
  121.  
  122.    subnet          either a single link of a subnetted IP network [7] or
  123.                    a single non-subnetted link.
  124.  
  125.    prefix          the part of an identifier which may be used for routing
  126.                    to a particular subnet, defined by logically ANDing with
  127.                    its assigned subnet mask.  More than one subnet prefix
  128.                    may identify the same link.
  129.  
  130.    neighbor        having an IP address belonging to the same subnet.
  131.  
  132. 2.  Criteria
  133.  
  134.    Historically, the methods for discovery of the next hop evolved
  135.    separately from those for location of neighbors and auto-
  136.    configuration of systems.  With the advent of SIP, the old techniques
  137.    must be re-implemented, usually due to larger field sizes.
  138.    Unfortunately, older implementations frequently did not take proper
  139.    care in differentiating existing variable field lengths, version
  140.    numbers, and new types of messages.  Therefore, the techniques used
  141.    for SIP are required to be distinguishable from previous versions.
  142.  
  143.    None of the current protocols are readily extensible.  While some
  144.    have the ability to change in simple terms, such as larger addresses,
  145.    none were designed to add new kinds of information to be carried in
  146.    the same packet.
  147.  
  148.    This can be viewed is an opportunity to design a uniform and coherent
  149.    method for accomplishing these goals, rather than a liability.
  150.  
  151.    Through prior experience, the following criteria were established, in
  152.    order of relative importance.  It is understood that many of these
  153.    criteria may conflict, and require numerous tradeoffs.
  154.  
  155.    Multicast support
  156.  
  157.       All SIP systems are required to support multicast.
  158.  
  159.       This is the primary technique for distinguishing the new messages.
  160.       Older systems will ignore multicast messages at the link layer.
  161.  
  162.       There are numerous other advantages to using multicast for the new
  163.       messages.  In particular, when compared to broadcast, reduced
  164.       overhead for processing messages which are not ultimately intended
  165.  
  166.  
  167.  
  168. Simpson                  expires in six months                  [Page 2]
  169. DRAFT                       system discovery                    May 1993
  170.  
  171.  
  172.       for the local system.
  173.  
  174.       Not all media supports multicast.  Since multicast is directly
  175.       supported by the SIP header, this technique will work even when
  176.       using link-layer broadcast, or link-layer unicast to each
  177.       recipient.
  178.  
  179.    Reduced net traffic
  180.  
  181.       Currently, there are separate packets sent for media address
  182.       resolution, router discovery, and the Hello protocols for the
  183.       various routing algorithms.  Since much of the same information is
  184.       contained in each of these packets, it would be helpful to combine
  185.       the functions in a single packet where possible.
  186.  
  187.       Also, the most common next hop resolution protocol, the Address
  188.       Resolution Protocol (ARP), requires an additional two packets at
  189.       the beginning of each connection.  The Request is sent, a Reply is
  190.       received, and then the first datagram can be sent to the next hop.
  191.       This causes a significant amount of traffic, and considerable
  192.       latency in establishing a connection.
  193.  
  194.       The ISO solution (ES-IS) eliminates some of these problems.  Each
  195.       end-system and intermediate-system sends Hellos on a periodic
  196.       basis.  Each system must remember all of the media addresses for
  197.       the other systems on the local network.  This does eliminate the
  198.       latency of ARP, at the expense of many additional packets sent on
  199.       a regular basis, and a large amount of storage overhead in each
  200.       system.
  201.  
  202.       Two alternative solutions were proposed:
  203.  
  204.       1)    Sending the first packet destined for an unknown system to
  205.             the all-systems multicast, or to a media multicast based on
  206.             a hash function of the destination.  The appropriate system
  207.             accepts the packet, and sends a redirect indicating the
  208.             appropriate media address to be used for future packets.
  209.             This reduces the traffic from 3 to 2 packets at the
  210.             beginning of a connection, and eliminates the latency, as
  211.             the discovery packet sent is also the data packet.  However,
  212.             the destination identifer in the network header will be
  213.             unicast, while the media address will be multicast, possibly
  214.             resulting in some confusion.  Intermediate-systems would
  215.             require extra intelligence to recognize those packets
  216.             destined beyond the local link, while multi-homed end-
  217.             systems require that capability already.  Also, this method
  218.             is not extensible to include other information useful in
  219.             mobile environments.
  220.  
  221.  
  222.  
  223. Simpson                  expires in six months                  [Page 3]
  224. DRAFT                       system discovery                    May 1993
  225.  
  226.  
  227.       2)    Using advertisements for the (fewer) intermediate systems,
  228.             and an ARP-like protocol for those end-system connections
  229.             that are on the local media.  For those packets which are
  230.             clearly destined off the local media, the packet can be sent
  231.             directly to the appropriate intermediate system.  When most
  232.             of the traffic is between systems that are not on the same
  233.             local media, this is very efficient.  When most of the
  234.             traffic is between end-systems on the local media (client-
  235.             server), the extra discovery packets will be rare.  The
  236.             intelligence is split between the intermediate and end
  237.             systems.
  238.  
  239.       The latter is the solution that is detailed here.  However, the
  240.       former is not mutually exclusive, and could be used in parallel.
  241.  
  242.       Also, by carrying media addresses within the advertisements and
  243.       redirect packets, a further ARP-like query/response can be avoided
  244.       entirely.
  245.  
  246.    Low storage overhead
  247.  
  248.       It is desirable that systems require as little storage overhead as
  249.       possible.  In particular, mobile systems often have significantly
  250.       reduced processing power and memory.
  251.  
  252.       An end-system should only retain information for those end-systems
  253.       with which it is directly communicating.  To improve efficiency
  254.       and reduce net traffic, this design requires the storage of
  255.       information about each intermediate-system which is heard.
  256.  
  257.       An intermediate-system may require more processing power and
  258.       memory, since participation in routing protocols requires the
  259.       knowledge of every neighboring intermediate-system.  It is not
  260.       expected that in the general case the location of every end-system
  261.       will be maintained.
  262.  
  263.    Autoconfiguration
  264.  
  265.       This design handles initial self-identification and propagation of
  266.       changes in identification.  Other aspects of configuration are
  267.       specified elsewhere, such as loading the operating system and
  268.       environment, and additional facilities and servers for
  269.       registration.
  270.  
  271.    Mobility support
  272.  
  273.       This is sometimes considered a subset of the above, as related to
  274.       dynamically changing addresses while moving.  Other systems must
  275.  
  276.  
  277.  
  278. Simpson                  expires in six months                  [Page 4]
  279. DRAFT                       system discovery                    May 1993
  280.  
  281.  
  282.       be notified of the changes.
  283.  
  284.       In addition, the "hidden transmitter" problem is considered (you
  285.       can hear another system, it can't hear you, but there is a path to
  286.       a third system which it can hear, completing the circuit).  This
  287.       is not well supported in any of the past protocols.
  288.  
  289.       Although basic support for mobility is provided, descriptions of
  290.       additional facilities and servers are specified elsewhere.
  291.  
  292.    Black hole detection
  293.  
  294.       In determining whether the next hop system is still available,
  295.       there is a basic tradeoff between frequent queries and resources
  296.       used.  This design trades fewer queries against more information
  297.       within each query and response.
  298.  
  299.       Explicit holding times are used to limit the exposure to black
  300.       holes.  The times may be dynamically shortened by the responsible
  301.       system when a resource is critical, or when the system is actively
  302.       moving.
  303.  
  304.    Media independence
  305.  
  306.       There are many instances where system discovery is accomplished
  307.       differently over different media, such as point-to-point versus
  308.       broadcast versus Large Public Data Networks.  This design places
  309.       the system discovery above the network layer, where it enjoys
  310.       greater independence.  It also encompasses media level redirects
  311.       between logical subnets on the same physical media.
  312.  
  313.       There are difficulties with carrying media addresses within
  314.       packets, especially in the presence of multi-media bridges.
  315.       Rather than allowing translation by bridges in the path, this
  316.       design exercizes control at the destination system, and requires
  317.       all such media addresses to be in canonical form,
  318.  
  319.    Optimal route determination
  320.  
  321.       This is essentially a superset of next hop discovery, combined
  322.       with resource reservation and possible policy considerations, and
  323.       the ability to redirect traffic under changing conditions.  This
  324.       is not well supported in any of the current protocols.
  325.  
  326.       To balance system overhead against network traffic, this design
  327.       attempts to adapt to a continuum of system capabilities.  Dumb
  328.       end-systems may simply send packets to a default intermediate-
  329.       system, and be redirected to the correct next hop by more capable
  330.  
  331.  
  332.  
  333. Simpson                  expires in six months                  [Page 5]
  334. DRAFT                       system discovery                    May 1993
  335.  
  336.  
  337.       intermediate-systems.  Smarter end-systems learn sufficient
  338.       information to make informed choices.
  339.  
  340.    Simplicity
  341.  
  342.       All of the above desires, and they want to keep it simple, too.
  343.       This design reduces the number of packet types which must be
  344.       supported in a pure SIP system, and reduces the number of systems
  345.       which recognize and respond to each type.  The extensions are
  346.       designed with 32 and 64 bit boundaries for efficient processing.
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388. Simpson                  expires in six months                  [Page 6]
  389. DRAFT                       system discovery                    May 1993
  390.  
  391.  
  392. 3.  Design and Use
  393.  
  394.    This proposal describes two packets, not much different from those
  395.    already deployed.  These familiar forms are re-packaged to join
  396.    common functions into the same packet to reduce traffic, and are
  397.    designed to be more extensible in the future.
  398.  
  399.    In order to foster media independence, the packets are part of ICMP,
  400.    which allows the protocols to be used over broadcast, multicast,
  401.    partial-mesh, and point-to-point media.  This is similar to the
  402.    positioning of ES-IS.
  403.  
  404.    The Where-Are-You solicitation is used to find other systems, and
  405.    associated resources and services.  General solicitations are sent
  406.    when a system interface is initialized.  Specific solicitations are
  407.    sent when one system is ready to communicate with another particular
  408.    system.
  409.  
  410.    The I-Am-Here advertisement is the answer to the Where-Are-You
  411.    solicitation.  Advertisements are also sent on a periodic basis to
  412.    indicate special resources and services.  Periodic advertisements
  413.    from a few commonly requested systems result in less traffic than
  414.    repeated solicitations from many systems.
  415.  
  416.    Each advertisement includes a lifetime field, specifying the maximum
  417.    length of time that the advertisements are to be considered valid in
  418.    the absence of further advertisements.  This ensures that other
  419.    systems eventually forget about systems that become unreachable,
  420.    whether that is because the system has failed, or it no longer
  421.    provides the advertised service.
  422.  
  423.    Each message contains "optional" extensions, designed to allow
  424.    flexibility and extensibility.
  425.  
  426.    One of the common extensions is the media address.  Each message
  427.    contains enough information to return a reply directly to the sender,
  428.    without additional location traffic.
  429.  
  430.    Another common extension is a list of the intermediate-systems which
  431.    have been heard.  This allows intermediate-systems to build a map of
  432.    the paths between intermediate-systems, and between intermediate-
  433.    systems and end-systems.  This is designed to be used by most
  434.    commonly deployed routing protocols.  This also solves the "hidden
  435.    transmitter" problem, when used together with the well-known link-
  436.    state class of routing protocols.
  437.  
  438.    Several methods of routing are supported.
  439.  
  440.  
  441.  
  442.  
  443. Simpson                  expires in six months                  [Page 7]
  444. DRAFT                       system discovery                    May 1993
  445.  
  446.  
  447. 3.1.  System Identification
  448.  
  449.    Zone numbers may be combined with the last hop media address to make
  450.    a locally significant identifier.  This is useful for initial
  451.    configuration and local communication within an administrative
  452.    domain.  These identifiers may be routed in a similar manner to
  453.    prefix-routed subnets.
  454.  
  455.    Prefix-routed subnet identifiers are supported for addressing
  456.    globally connected networks in the metro/provider addressing model.
  457.    The prefix part of each identifier may be used to locate the subnet
  458.    link for the final hop.  This is the routing technique with which we
  459.    have greatest familiarity.
  460.  
  461.    End-Point identifiers, or any other globally unique identifier, may
  462.    be used with future routing techniques.  A mobile system may be
  463.    treated as having an end-point identifier when it appears in a
  464.    prefix-routed subnet, since it will not have the same prefix as other
  465.    systems in the subnet.
  466.  
  467.    Facilities are provided for exchange of redirects and translation
  468.    between the various forms of identifiers.
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498. Simpson                  expires in six months                  [Page 8]
  499. DRAFT                       system discovery                    May 1993
  500.  
  501.  
  502. 3.2.  Intermediate System Advertisements
  503.  
  504.    Each intermediate-system peridodically sends the I-Am-Here message to
  505.    advertise its forwarding capability.  End-systems discover the
  506.    location of their neighboring intermediate-systems simply by
  507.    listening for the advertisements.  This eliminates the need for
  508.    manual configuration of intermediate-system addresses and is
  509.    independent of any specific routing protocol.
  510.  
  511.    The advertisements include such important information as the media
  512.    address to access the system, other subnets directly accessible
  513.    through the intermediate-system, and neighboring intermediate-systems
  514.    heard.
  515.  
  516.    Identifiers
  517.  
  518.       Each intermediate-system advertisement includes one or more
  519.       identifier fields.  These indicate the identifiers which are
  520.       presently in use for each interface of the intermediate-system.
  521.  
  522.    Prefix Size
  523.  
  524.       Each advertised identifier includes a prefix size field.  The
  525.       value ranges from 0 to 62, and indicates the number of bits in the
  526.       Identifier which define the prefix mask for the link.  A value of
  527.       zero indicates an end-point identifier.  When the value is not
  528.       zero, the identifier may be used to discern zone or prefix-routed
  529.       subnet mapping.
  530.  
  531.    Preference
  532.  
  533.       Each advertised identifier includes a preference field.  This is
  534.       used to choose a default intermediate-system for the first-hop
  535.       when no other information is available (for a particular
  536.       destination, the end-system has not yet been redirected or
  537.       configured to use a specific intermediate-system).  The end-system
  538.       is expected to choose from those intermediate-systems that have
  539.       the highest preference level for the best prefix-routing match.
  540.       When there is no match, or prefix-routing is not in use, the
  541.       preference value is used alone.
  542.  
  543.       A network administrator can configure intermediate-system
  544.       preference levels to encourage or discourage the use of particular
  545.       intermediate-systems as the default first hop.  The use of
  546.       separate preferences per prefix allows the choice of different
  547.       intermediate-systems for each prefix, when there are multiple
  548.       prefixes in use for the same link.  This may be useful where
  549.       multiple organizations share resources.
  550.  
  551.  
  552.  
  553. Simpson                  expires in six months                  [Page 9]
  554. DRAFT                       system discovery                    May 1993
  555.  
  556.  
  557.       [I am not sure this works when there are multiple identifiers per
  558.       end-system interface.]
  559.  
  560.       The preference value is not the same as the "metric" used in many
  561.       routing protocols.  It is used only by end-systems in determining
  562.       the default first-hop, rather than by intermediate-systems in
  563.       choosing a link for transit traffic.  The values are not additive.
  564.       Therefore, the range of values is smaller, and a higher value
  565.       indicates a higher preference.
  566.  
  567.  
  568. 3.2.1.  Constants
  569.  
  570.       MAX_INITIAL_ADVERTISEMENTS        3 transmissions
  571.  
  572.       MAX_INITIAL_ADVERT_INTERVAL      16 seconds
  573.  
  574.       MAX_RESPONSE_DELAY                2 seconds
  575.  
  576.  
  577. 3.2.2.  Configuration
  578.  
  579.    An intermediate-system MUST allow the following variables to be
  580.    configured by system management.  Default values are specified which
  581.    make it unnecessary to re-configure these variables in most cases.
  582.  
  583.    For each interface:
  584.  
  585.    MaxAdvertisementInterval
  586.  
  587.       The maximum time (in seconds) allowed between sending
  588.       intermediate-system advertisements from the interface.  Must be no
  589.       less than 4 seconds and no greater than 1800 seconds.
  590.  
  591.       Default: 600 seconds
  592.  
  593.    MinAdvertisementInterval
  594.  
  595.       The minimum time (in seconds) allowed between sending unsolicited
  596.       intermediate-system advertisements from the interface.  Must be no
  597.       less than 1 second and no greater than MaxAdvertisementInterval.
  598.  
  599.       Default: 0.75 * MaxAdvertisementInterval
  600.  
  601.    AdvertisementLifetime
  602.  
  603.       The value (in seconds) to be placed in the Lifetime field of
  604.       intermediate-system advertisements sent from the interface.  Must
  605.  
  606.  
  607.  
  608. Simpson                  expires in six months                 [Page 10]
  609. DRAFT                       system discovery                    May 1993
  610.  
  611.  
  612.       be no less than MaxAdvertisementInterval and no greater than 9000
  613.       seconds.
  614.  
  615.       Default: 3 * MaxAdvertisementInterval
  616.  
  617.  
  618.    For each of the identifiers of each interface:
  619.  
  620.    Advertise
  621.  
  622.       A flag indicating whether or not the identifier is to be
  623.       advertised.
  624.  
  625.       Default: TRUE
  626.  
  627.    PreferenceLevel
  628.  
  629.       The preferability of the interface as a default intermediate-
  630.       system choice, relative to other intermediate-system interfaces
  631.       serving the same prefix on the same link.
  632.  
  633.       Values are in the range 0 to 255.  Higher values mean more
  634.       preferable.  The minimum value 0 is used to indicate that the
  635.       identifier, even though it may be advertised, is not to be used by
  636.       neighboring end-systems as a default intermediate-system address.
  637.  
  638.       Default: 1
  639.  
  640.    It is useful to configure an identifier with a preference level of 0
  641.    (rather than simply setting its Advertise flag to FALSE) when
  642.    advertisements are being used for "black hole" detection.  In
  643.    particular, an intermediate-system that is to be used to reach only
  644.    specific destinations could advertise a preference level of 0 (so
  645.    that neighboring end-systems will not use it as a default
  646.    intermediate-system for reaching arbitrary destinations) and a non-
  647.    zero lifetime (so that neighboring end-systems that have been
  648.    redirected or configured to use it can detect its failure by timing
  649.    out the reception of its advertisements).
  650.  
  651.    It has been suggested that, when the preference level of an
  652.    identifier has not been explicitly configured, an intermediate-system
  653.    could set it according to the metric of the intermediate-system's
  654.    "default route" (if it has one), rather than defaulting as suggested
  655.    above.  Thus, an intermediate-system with a better metric for its
  656.    default route would advertise a higher preference level for its
  657.    identifier.  (Note that routing metrics that are encoded such that
  658.    "lower is better" would have to be inverted before being used as
  659.    preference levels in intermediate-system advertisement messages.)
  660.  
  661.  
  662.  
  663. Simpson                  expires in six months                 [Page 11]
  664. DRAFT                       system discovery                    May 1993
  665.  
  666.  
  667.    Such a strategy might reduce the amount of redirect traffic on some
  668.    links by making it more likely that an end-system's first choice for
  669.    reaching an arbitrary destination is also the best choice.
  670.  
  671.    On the other hand, redirect traffic is rarely a significant load on a
  672.    link, and there are some cases where such a strategy would result in
  673.    more redirect traffic (on links from which the most frequently chosen
  674.    destinations are best reached via intermediate-systems other than the
  675.    one with the best default route).  Also, since the routing algorithms
  676.    learn of neighboring intermediate-systems from the advertisements,
  677.    and the default routes are learned from the routing algorithms, the
  678.    calculated preference may be unstable from time to time.  This
  679.    document makes no recommendation concerning this issue, and
  680.    implementors are free to try such a strategy, as long as they also
  681.    support static configuration of preference levels as specified above.
  682.  
  683.  
  684. 3.2.3.  Implementation
  685.  
  686.    Every SIP intermediate-system MUST implement Intermediate-System
  687.    Advertisements.
  688.  
  689.    The intermediate-system joins the all-routers multicast group on all
  690.    interfaces on which the intermediate-system supports multicast.
  691.  
  692.    The term "advertising interface" refers to any functioning and
  693.    enabled interface that has at least one identifier whose configured
  694.    Advertise flag is TRUE.
  695.  
  696.    From each advertising interface, the system transmits periodic
  697.    advertisements containing the following values:
  698.  
  699.    -  In the Destination Address field of the SIP header: the all-
  700.       systems multicast, with the scope set to local.
  701.  
  702.    -  In the Source Address field of the SIP header: the primary
  703.       identifier of the system.  The same identifier is used for all
  704.       interfaces.
  705.  
  706.    -  In the Code field of the ICMP header: 2 for Intermediate-System
  707.       Advertisement.
  708.  
  709.    -  In the Lifetime field: the interface's configured
  710.       AdvertisementLifetime.
  711.  
  712.    -  For each of that interface's identifiers whose Advertise flags are
  713.       TRUE, the Routing-Information extension.
  714.  
  715.  
  716.  
  717.  
  718. Simpson                  expires in six months                 [Page 12]
  719. DRAFT                       system discovery                    May 1993
  720.  
  721.  
  722.    -  For each of that system's other interface's identifiers which have
  723.       not already been included through prefix subsumption, the Other-
  724.       Identifier extension.
  725.  
  726.    -  For each service advertisement that is offered, or has been
  727.       learned from another advertisement, the Service-Information
  728.       extension.
  729.  
  730.    -  For each intermediate-system advertisement that has been heard,
  731.       the System-Heard extension.
  732.  
  733.    -  For interfaces which are not point-to-point links, the Media-
  734.       Access extension.
  735.  
  736.    In the unlikely event that not all extensions fit in a single
  737.    advertisement, as constrained by the MTU of the link, multiple
  738.    advertisements are sent, with each except the last containing as many
  739.    extensions as can fit.
  740.  
  741.       CONTROVERSIAL:
  742.  
  743.       When an intermediate-system discovers that it is receiving its own
  744.       advertisements, that is an indication that it has more than one
  745.       interface on same link.  The system MUST choose only one
  746.       advertising interface for each link.  Identifiers associated with
  747.       the remaining interfaces on the same link are indicated with the
  748.       Other-Identifier extension.  Redirect is used to move specific
  749.       traffic to the alternate interfaces.
  750.  
  751.       An intermediate-system MAY proxy for the identifers of other
  752.       systems, using the Other-Identifier extension.  This SHOULD only
  753.       be used when the intermediate-system is translating to another
  754.       network-layer protocol format.
  755.  
  756.    The advertisements are not strictly periodic.  The interval between
  757.    subsequent transmissions is randomized to reduce the probability of
  758.    synchronization with the advertisements from other intermediate-
  759.    systems on the same link.  This is done by maintaining a separate
  760.    transmission interval timer for each advertising interface.  Each
  761.    time an advertisement is sent from an interface, that interface's
  762.    timer is reset to a uniformly-distributed random value between the
  763.    configured MinAdvertisementInterval and MaxAdvertisementInterval.
  764.    Expiration of the timer causes the next advertisement to be sent, and
  765.    a new random value to be chosen.
  766.  
  767.    It is recommended that intermediate-systems include some unique
  768.    value, such as one of their interface or link-layer addresses, in the
  769.    seed used to initialize their pseudo-random number generators.
  770.  
  771.  
  772.  
  773. Simpson                  expires in six months                 [Page 13]
  774. DRAFT                       system discovery                    May 1993
  775.  
  776.  
  777.    Although the randomization range is configured in units of seconds,
  778.    the actual randomly-chosen values should not be in units of whole
  779.    seconds, but rather in units of the highest available timer
  780.    resolution.
  781.  
  782.    For the first few advertisements sent from an interface (up to
  783.    MAX_INITIAL_ADVERTISEMENTS), if the randomly chosen interval is
  784.    greater than MAX_INITIAL_ADVERT_INTERVAL, the timer should be set to
  785.    MAX_INITIAL_ADVERT_INTERVAL instead.  Using this smaller interval for
  786.    the initial advertisements increases the likelihood of an
  787.    intermediate-system being discovered quickly when it first becomes
  788.    available, in the presence of possible packet loss.
  789.  
  790.    In addition to the periodic unsolicited advertisements, an
  791.    intermediate-system sends advertisements in response to valid
  792.    solicitations received on any of its advertising interfaces.  If the
  793.    solicitation does not contain any Intermediate-Systems-Heard
  794.    extension, and the time since the previous advertisement is greater
  795.    than MAX_INITIAL_ADVERT_INTERVAL, the intermediate-system MUST
  796.    multicast an advertisement from that interface.  The interface's
  797.    interval timer is reset to a new random value, as with unsolicited
  798.    advertisements.  The response MUST be delayed for a small random
  799.    interval not greater than MAX_RESPONSE_DELAY, in order to prevent
  800.    synchronization with other responding intermediate-systems, and to
  801.    allow multiple closely-spaced solicitations to be answered with a
  802.    single advertisement.
  803.  
  804.    An interface may become an advertising interface at times other than
  805.    system startup, as a result of recovery from an interface failure or
  806.    through actions of system management such as:
  807.  
  808.    -  enabling the interface, if it had been administratively disabled
  809.       and it has one or more identifiers whose Advertise flag is TRUE,
  810.  
  811.    -  enabling SIP forwarding capability (changing the system from an
  812.       end-system to an intermediate-system), when the interface has one
  813.       or more identifiers whose Advertise flag is TRUE,
  814.  
  815.    -  setting the Advertise flag of one or more of the interface's
  816.       identifiers to TRUE (or adding a new identifier with a TRUE
  817.       Advertise flag), when previously the interface had no identifier
  818.       whose Advertise flag was TRUE.
  819.  
  820.    In such cases, the intermediate-system must commence transmission of
  821.    periodic advertisements on the new advertising interface, limiting
  822.    the first few advertisements to intervals no greater than
  823.    MAX_INITIAL_ADVERT_INTERVAL.  In the case of an end-system becoming
  824.    an intermediate-system, the system must also join the all-routers
  825.  
  826.  
  827.  
  828. Simpson                  expires in six months                 [Page 14]
  829. DRAFT                       system discovery                    May 1993
  830.  
  831.  
  832.    multicast group on all interfaces on which the intermediate-system
  833.    supports multicast (whether or not they are advertising interfaces).
  834.  
  835.    An interface may also cease to be an advertising interface, through
  836.    actions of system management such as:
  837.  
  838.    -  shutting down the system,
  839.  
  840.    -  administratively disabling the interface,
  841.  
  842.    -  disabling SIP forwarding capability (changing the system from an
  843.       intermediate-system to an end-system),
  844.  
  845.    -  setting the Advertise flags of all of the interface's identifiers
  846.       to FALSE.
  847.  
  848.    In such cases, the intermediate-system SHOULD transmit a final
  849.    multicast advertisement on the interface, identical to its previous
  850.    transmission, but with a Lifetime field of zero.  In the case of an
  851.    intermediate-system becoming an end-system, the system must also
  852.    depart from the all-routers multicast group on all interfaces on
  853.    which the intermediate-system supports multicast (whether or not they
  854.    had been advertising interfaces).
  855.  
  856.    When the Advertise flag of one or more of an interface's identifiers
  857.    are set to FALSE by system management, but there remain other
  858.    identifiers on that interface whose Advertise flags are TRUE, the
  859.    intermediate-system SHOULD send a single multicast advertisement
  860.    containing only those identifiers whose Advertise flags were set to
  861.    FALSE, with a Lifetime field of zero.
  862.  
  863.  
  864.  
  865.  
  866.  
  867.  
  868.  
  869.  
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883. Simpson                  expires in six months                 [Page 15]
  884. DRAFT                       system discovery                    May 1993
  885.  
  886.  
  887. 3.3.  Intermediate System Discovery
  888.  
  889.    Before an end-system can send datagrams beyond its directly attached
  890.    link, it must discover the location of at least one operational
  891.    intermediate-system on that link.  This is accomplished through the
  892.    intermediate-system advertisement messages described above.
  893.  
  894.    The advertisement messages do not constitute a routing protocol.
  895.    They enable systems to discover the existence of neighboring
  896.    intermediate-systems, but not necessarily which intermediate-system
  897.    is best to reach a particular destination.  If a system chooses a
  898.    poor intermediate-system for a particular destination, it should
  899.    receive a redirect from that intermediate-system.
  900.  
  901.    However, the advertisements often contain sufficient information to
  902.    make a good choice of first hop.  This may be important for choosing
  903.    among intermediate-systems which are participating in a security
  904.    group or policy-based routing.
  905.  
  906.    It should be understood that preference levels learned from
  907.    intermediate-system advertisements do not affect any system's cached
  908.    route entries.  For example, if a system has been redirected to use a
  909.    particular intermediate-system to reach a specific destination, it
  910.    continues to use that intermediate-system for that destination, even
  911.    if it discovers another intermediate-system identifier with a higher
  912.    preference level.  Preference levels influence the choice of
  913.    intermediate-system only for a destination for which there is no
  914.    cached or configured route, or whose cached route points to an
  915.    intermediate-system that is subsequently determined to be
  916.    unreachable.
  917.  
  918.  
  919. 3.3.1.  Configuration
  920.  
  921.    The Host Requirements -- Communication Layers [1], Section 3.3.1.6,
  922.    specifies that each end-system must support a configurable list of
  923.    default intermediate-system identifiers.  The purpose of the
  924.    intermediate-system discovery messages is to eliminate the need to
  925.    configure that list.  On links for which intermediate-system
  926.    discovery is administratively disabled, it MAY continue to be
  927.    necessary to configure the default intermediate-system list in each
  928.    end-system.
  929.  
  930.    Each entry in the list contains (at least) the following configurable
  931.    variables:
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938. Simpson                  expires in six months                 [Page 16]
  939. DRAFT                       system discovery                    May 1993
  940.  
  941.  
  942.    RouterAddress
  943.  
  944.       An identifier of a default intermediate-system.
  945.  
  946.       Default: (none)
  947.  
  948.    PreferenceLevel
  949.  
  950.       The preferability of the RouterAddress as a default intermediate-
  951.       system choice, relative to other intermediate-system interfaces
  952.       serving the same prefix on the same link.  The Host Requirements
  953.       RFC does not specify how this value is to be encoded.  The values
  954.       used here are defined above.
  955.  
  956.       Default: 255
  957.  
  958.  
  959. 3.3.2.  Implementation
  960.  
  961.    To process an Intermediate-System Advertisement, an end-system scans
  962.    the list of Routing-Information extensions contained in it.  For each
  963.    identifier, the end-system does the following:
  964.  
  965.    -  If the prefix size is not zero, the identifier and prefix size are
  966.       compared against any identifiers associated with the interface on
  967.       which the message was received.  If there is a match, the
  968.       interface prefix size is set to the advertised prefix size.
  969.  
  970.    -  If the identifier is not already present in the end-system's
  971.       intermediate-system list, a new entry is added to the list,
  972.       containing the identifier along with its accompanying preference
  973.       level, and a timer initialized to the Lifetime value from the
  974.       advertisement.
  975.  
  976.    -  If the identifier is already present in the end-system's
  977.       intermediate-system list as a result of a previously-received
  978.       advertisement, its preference level is updated and its timer is
  979.       reset to the value in the newly-received advertisement.
  980.  
  981.    -  If the identifier is already present in the end-system's
  982.       intermediate-system list as a result of system configuration, no
  983.       change is made to its preference level.  There is no timer
  984.       associated with a configured identifier.
  985.  
  986.    -  If a Media-Access extension is present, the intermediate-system
  987.       list is updated with the location information.
  988.  
  989.    Whenever the timer expires in any entry that was created as a result
  990.  
  991.  
  992.  
  993. Simpson                  expires in six months                 [Page 17]
  994. DRAFT                       system discovery                    May 1993
  995.  
  996.  
  997.    of a received advertisement, that entry is discarded.
  998.  
  999.       Note that any intermediate-system identifiers acquired from the
  1000.       "Gateway" subfield of the vendor extensions field of a BOOTP
  1001.       packet [11] are considered to be configured identifiers; they are
  1002.       assigned the default preference level of 255, and they do not have
  1003.       an associated timer.
  1004.  
  1005.       Note further that any identifier found in the "giaddr" field of a
  1006.       BOOTP packet [3] identifies a BOOTP forwarder which is not
  1007.       necessarily a SIP intermediate-system; such an identifier should
  1008.       not be installed in the end-system's default intermediate-system
  1009.       list.
  1010.  
  1011.    To limit the storage needed for the default intermediate-system list,
  1012.    an end-system MAY choose not to store all of the intermediate-system
  1013.    identifiers discovered via advertisements.  The end-system SHOULD
  1014.    discard those identifiers with lower preference levels in favor of
  1015.    those with higher levels.  It is desirable to retain more than one
  1016.    default intermediate-system identifier in the list; if the current
  1017.    choice of default intermediate-system is discovered to be down, the
  1018.    end-system may immediately choose another default intermediate-system
  1019.    without having to wait for the next advertisement to arrive.
  1020.  
  1021.    Any intermediate-system identifier advertised with a preference level
  1022.    of zero is not to be used by the end-system as default intermediate-
  1023.    system identifier.  Such an identifier may be omitted from the
  1024.    default intermediate-system list, unless its timer is being use as a
  1025.    "black-hole" detection mechanism.
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048. Simpson                  expires in six months                 [Page 18]
  1049. DRAFT                       system discovery                    May 1993
  1050.  
  1051.  
  1052. 3.4.  Initial Intermediate-System Solicitations
  1053.  
  1054.    When any end-system starts up, which is not otherwise sending
  1055.    periodic I-Am-Here advertisements, it MUST instead send the Where-
  1056.    Are-You solicitation to begin discovery of intermediate-systems.
  1057.  
  1058.    If (and only if) no advertisements from neighboring intermediate-
  1059.    systems are forthcoming, the end-system may retransmit the Where-
  1060.    Are-You a small number of times, but then must desist from sending
  1061.    more solicitations.
  1062.  
  1063.    Any systems that subsequently start up, or that were not discovered
  1064.    because of packet loss or temporary link partitioning, are eventually
  1065.    discovered by reception of their periodic (unsolicited)
  1066.    advertisements.  Links that suffer high packet loss rates or frequent
  1067.    partitioning are accommodated by increasing the rate of
  1068.    advertisements, rather than increasing the number of solicitations
  1069.    that systems are permitted to send.
  1070.  
  1071.  
  1072. 3.4.1.  Constants
  1073.  
  1074.       MAX_SOLICITATIONS                 3 transmissions
  1075.  
  1076.       MAX_SOLICITATION_DELAY            1 second
  1077.  
  1078.       SOLICITATION_INTERVAL             3 seconds
  1079.  
  1080.  
  1081. 3.4.2.  Implementation
  1082.  
  1083.    Every SIP system MUST implement the System Solicitation.
  1084.  
  1085.    Every SIP system joins the all-systems multicast group on all
  1086.    interfaces on which the system supports multicast.
  1087.  
  1088.    An end-system is permitted (but not required) to transmit up to
  1089.    MAX_SOLICITATIONS solicitation messages from any of its interfaces
  1090.    after any of the following events:
  1091.  
  1092.    -  The interface is initialized at system startup time.
  1093.  
  1094.    -  The interface is reinitialized after a temporary interface failure
  1095.       or after being temporarily disabled by system management.
  1096.  
  1097.    -  The system has its SIP forwarding capability turned off by system
  1098.       management.
  1099.  
  1100.  
  1101.  
  1102.  
  1103. Simpson                  expires in six months                 [Page 19]
  1104. DRAFT                       system discovery                    May 1993
  1105.  
  1106.  
  1107.    -  The system has its SIP service capability turned off by system
  1108.       management.
  1109.  
  1110.    From each such interface, the system transmits solicitations
  1111.    containing the following values:
  1112.  
  1113.    -  In the Destination Address field of the SIP header: the all-
  1114.       routers multicast, with the scope set to local.
  1115.  
  1116.    -  In the Source Address field of the SIP header: the primary
  1117.       identifier associated with that interface.  It MAY contain zero if
  1118.       the system has not yet determined an identifier for the interface.
  1119.  
  1120.    -  In the Code field of the ICMP header: 2 for Intermediate-System
  1121.       Solicitation.
  1122.  
  1123.    -  For each of that system's interface identifiers other than the
  1124.       primary identifier, the Other-Identifier extension, with the
  1125.       prefix size set to zero.
  1126.  
  1127.    -  For each intermediate-system advertisement that has been heard,
  1128.       the System-Heard extension.
  1129.  
  1130.    -  For interfaces which are not point-to-point links, the Media-
  1131.       Access extension.
  1132.  
  1133.    If a system chooses to send a solicitation after one of the above
  1134.    events, it should delay transmission for a random amount of time
  1135.    between 0 and MAX_SOLICITATION_DELAY.  This serves to alleviate
  1136.    congestion when many systems start up on a link at the same time,
  1137.    such as might happen after recovery from a power failure.
  1138.  
  1139.    It is recommended that systems include some unique value, such as one
  1140.    of their interface or link-layer identifiers, in the seed used to
  1141.    initialize their pseudo-random number generators.  Although the
  1142.    randomization range is specified in units of seconds, the actual
  1143.    randomly-chosen value should not be in units of whole seconds, but
  1144.    rather in units of the highest available timer resolution.
  1145.  
  1146.    The small number of retransmissions of a solicitation, which are
  1147.    permitted if no advertisement is received, should be sent at
  1148.    intervals of SOLICITATION_INTERVAL seconds, without further
  1149.    randomization.
  1150.  
  1151.    Upon receiving a valid advertisement from any intermediate-system
  1152.    subsequent to one of the above events, the system MUST NOT send any
  1153.    solicitation on that interface (even if none have been sent yet)
  1154.    until the next time one of the above events occurs.  The
  1155.  
  1156.  
  1157.  
  1158. Simpson                  expires in six months                 [Page 20]
  1159. DRAFT                       system discovery                    May 1993
  1160.  
  1161.  
  1162.    intermediate-system advertisements (described above) contain a
  1163.    summary of all of the available information for the link.
  1164.  
  1165.  
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213. Simpson                  expires in six months                 [Page 21]
  1214. DRAFT                       system discovery                    May 1993
  1215.  
  1216.  
  1217. 3.5.  Service Advertisments
  1218.  
  1219.    Each system offering one of the special configuration services
  1220.    detailed below, whether an end-system or intermediate-system,
  1221.    periodically sends the I-Am-Here message to advertise its service
  1222.    availablility.  All systems discover the location of these services
  1223.    simply by listening for the advertisements.  This eliminates the need
  1224.    for manual configuration, periodic probes, and special handling of
  1225.    certain packet types by intermediate-systems.
  1226.  
  1227.    The learned service information is included in any neighboring
  1228.    intermediate-system advertisements.  In this fashion, the
  1229.    intermediate-system advertisements provide a summary of all available
  1230.    network services, and pass information beyond the link where the
  1231.    advertisement originated.  This results in a reduction of network
  1232.    traffic when compared to the broadcast or multicast of service
  1233.    discovery requests/replies over a wide area.
  1234.  
  1235.    The service advertisements use similar configuration constants and
  1236.    variables as intermediate-system advertisements.
  1237.  
  1238.  
  1239. 3.5.1.  Implementation
  1240.  
  1241.    Services offered by intermediate-systems are included in the
  1242.    intermediate-system advertisements described above.
  1243.  
  1244.    From each advertising interface, an end-system transmits periodic
  1245.    advertisements containing the following values:
  1246.  
  1247.    -  In the Destination Address field of the SIP header: the all-
  1248.       systems multicast, with the scope set to local.
  1249.  
  1250.    -  In the Source Address field of the SIP header: the primary
  1251.       identifier associated with that interface.
  1252.  
  1253.    -  In the Code field of the ICMP header: 1 for End-System
  1254.       Advertisement.
  1255.  
  1256.    -  In the Lifetime field: the interface's configured
  1257.       AdvertisementLifetime.
  1258.  
  1259.    -  For each of that system's interface identifiers other than the
  1260.       primary identifier, the Other-Identifier extension, with the
  1261.       prefix size set to zero.
  1262.  
  1263.    -  For each service advertisement that is offered, the Service-
  1264.       Information extension.
  1265.  
  1266.  
  1267.  
  1268. Simpson                  expires in six months                 [Page 22]
  1269. DRAFT                       system discovery                    May 1993
  1270.  
  1271.  
  1272.    -  For each intermediate-system advertisement that has been heard,
  1273.       the System-Heard extension.
  1274.  
  1275.    -  For interfaces which are not point-to-point links, the Media-
  1276.       Access extension.
  1277.  
  1278.    In the unlikely event that not all extensions fit in a single
  1279.    advertisement, as constrained by the MTU of the link, multiple
  1280.    advertisements are sent, with each except the last containing as many
  1281.    extensions as can fit.
  1282.  
  1283.    End-system service advertisements are sent using the same periodicity
  1284.    as intermediate-system advertisements.
  1285.  
  1286.    Advertising interfaces are established and terminated in the same
  1287.    manner as intermediate-system advertisements.
  1288.  
  1289.    When any system ceases to offer an advertised service, the system
  1290.    SHOULD transmit a final multicast advertisement on the interface,
  1291.    identical to its previous transmission, but with a Lifetime field of
  1292.    zero.
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323. Simpson                  expires in six months                 [Page 23]
  1324. DRAFT                       system discovery                    May 1993
  1325.  
  1326.  
  1327. 3.6.  Service Discovery
  1328.  
  1329.    Because the service advertisements learned from a link are
  1330.    promulgated by the intermediate-system advertisements, no further
  1331.    effort is required to solicit service advertisements.
  1332.  
  1333.    [what to do when there are no IS Adverts]
  1334.  
  1335.    The services advertised are limited primarily to configuration.  The
  1336.    locations of other facilities may be learned from these basic
  1337.    servers.
  1338.  
  1339.  
  1340. 3.6.1.  Domain Name Service
  1341.  
  1342.    Before a system can communicate with another system, it must learn
  1343.    that system's identifiers and location.  The Domain Name System (DNS)
  1344.    is usually used for this purpose.
  1345.  
  1346.    Therefore, the location of at least one DNS server must be learned.
  1347.    This is accomplished through the service advertisement messages
  1348.    described above.
  1349.  
  1350.    In the past, this was accomplished by reading a list of servers from
  1351.    a (possibly remote) configuration file at startup time.  Some systems
  1352.    discovered servers by sending periodic probes to a broadcast or
  1353.    multicast address.  Both of these methods have serious drawbacks.
  1354.    Configuration files must be maintained manually (a significant
  1355.    administrative burden when ther are large numbers of systems), and
  1356.    are unable to track dynamic changes in DNS availability.  Periodic
  1357.    probes are restricted from using recursion (see Host Requirements --
  1358.    Application and Support [2], Section 6.1.3.2), and are thus limited
  1359.    to information about the local domain.
  1360.  
  1361.    In practice, only systems which are users or stub resolvers of the
  1362.    DNS will use the DNS server advertisements.  Full-Service resolvers
  1363.    MUST continue to be manually configured to ensure a heirarchy of
  1364.    believability within the network.
  1365.  
  1366.  
  1367. 3.6.2.  Self-Configuration Service
  1368.  
  1369.    Before a system can communicate with another system, it must learn
  1370.    its own identity.  The Bootstrap Protocol (BOOTP) is frequently used
  1371.    for this purpose.
  1372.  
  1373.    Therefore, the location of at least one BOOTP server must be learned.
  1374.    This is accomplished through the service advertisement messages
  1375.  
  1376.  
  1377.  
  1378. Simpson                  expires in six months                 [Page 24]
  1379. DRAFT                       system discovery                    May 1993
  1380.  
  1381.  
  1382.    described above.
  1383.  
  1384.    In the past, this was accomplished by ad hoc passing of BOOTP
  1385.    requests by routers.  This method has several serious drawbacks.
  1386.    Presence of the feature cannot be relied upon.  It is not of much use
  1387.    for mobile, roving or portable systems.
  1388.  
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433. Simpson                  expires in six months                 [Page 25]
  1434. DRAFT                       system discovery                    May 1993
  1435.  
  1436.  
  1437. 3.7.  Prefix Discovery
  1438.  
  1439.    which define the prefix mask for the link.  The value ranges from 0
  1440.    to 62.
  1441.  
  1442.    The value of 63 cannot be used, since at least 2 bits are reserved
  1443.    for a valid host portion of the identifier.
  1444.  
  1445.    Each IS, when configured, or address assigned.  The prefixes are
  1446.    assigned by hand.  Can ask DNS or BOOTP.
  1447.  
  1448.    Unlike previous practice, an end-system prefix size MUST NOT be
  1449.    preconfigured.  Instead, the prefix size is dynamically learned from
  1450.    matching against the intermediate-system advertisements, as described
  1451.    in Intermediate-System Discovery above.
  1452.  
  1453.    more than one prefix on same link.
  1454.  
  1455.  
  1456.  
  1457. 3.8.  Zone Discovery
  1458.  
  1459.    A Zone is defined to be a collection of systems which may be
  1460.    aggregated as the same next hop.  A Zone may be as small as a single
  1461.    link segment, or as large as an entire administrative domain.
  1462.  
  1463.  
  1464. 3.8.1.  Abstraction Algorithm
  1465.  
  1466.    The zones are learned from the intermediate-system advertisements,
  1467.    which contain the necessary prefix information.
  1468.  
  1469.  
  1470.  
  1471.  
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488. Simpson                  expires in six months                 [Page 26]
  1489. DRAFT                       system discovery                    May 1993
  1490.  
  1491.  
  1492. 3.9.  Next Hop Determination
  1493.  
  1494.    Within a directly attached link, each system must be able to locate
  1495.    other systems with which it desires to communicate.  This is
  1496.    accomplished using the Where-Are-You and I-Am-Here messages described
  1497.    below.  This is independent of any specific media.
  1498.  
  1499.    When the system has heard one or more intermediate-system
  1500.    advertisements, it first uses these advertisements to determine if
  1501.    the desired system is directly accessible on the local link.
  1502.  
  1503.  
  1504.    When an end-system has not heard any intermediate-system
  1505.    advertisements, it is assumed that all end-systems are only
  1506.    accessible on the local link.
  1507.  
  1508.  
  1509.  
  1510.  
  1511. 3.9.1.  Configuration
  1512.  
  1513.  
  1514.  
  1515. 3.9.2.  Implementation
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524.  
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.  
  1532.  
  1533.  
  1534.  
  1535.  
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.  
  1542.  
  1543. Simpson                  expires in six months                 [Page 27]
  1544. DRAFT                       system discovery                    May 1993
  1545.  
  1546.  
  1547. 3.9.3.  Examples of Use
  1548.  
  1549.        Simple case -- J to K on the same fully-connected link.
  1550.  
  1551.            J sends the Where-Are-You (which contains its own media address)
  1552.            to all-systems.  K sends the I-Am-Here (which contains its own
  1553.            media address) directly to J.  At this point, they both know
  1554.            that they can talk directly to each other, without regard to
  1555.            subnet.
  1556.  
  1557.        Routed case -- J to K not on the same fully-connected link.
  1558.  
  1559.            If no resource reservation or policy routing is desired, J
  1560.            simply sends its packets directly to the "preferred" router that
  1561.            it has learned from the Advertisements.  If there is a better
  1562.            router for the first hop, that router sends the I-Am-Here
  1563.            redirect to J, but never-the-less forwards the packet.
  1564.  
  1565.            In the presence of RR or PR, J sends the Where-Are-You to the
  1566.            "preferred" router that it has learned from the Advertisements.
  1567.            That router always returns the I-Am-Here (even if the correct
  1568.            hop is itself), which contains the requested RR or PR status
  1569.            information.  J then sends its packets to the first hop router
  1570.            as determined from the I-Am-Here.
  1571.  
  1572.        General case -- J to K over disconnected partial mesh (radio/framerelay).
  1573.  
  1574.            J sends the Where-Are-You (which contains its own media address,
  1575.            and the addresses of its "heard" routers) to the all-systems
  1576.            address.  The routers use such messages to construct a map of
  1577.            the current state of the topology.  The routers now know who J
  1578.            hears, and who hears J.
  1579.  
  1580.            If the routing map doesn't contain a current whereabouts of K,
  1581.            the Destination Unreachable message is returned by the "best"
  1582.            router on J's "heard" list.
  1583.  
  1584.            If the routing map contains the current whereabouts of K, the
  1585.            "best" router on K's "heard" list sends a copy of the
  1586.            Where-Are-You to K, with a substitute list of routers which can
  1587.            hear K.  The list is ordered by the intersection of those
  1588.            routers which can also hear J, minimizing the number of hops.
  1589.  
  1590.            Of course, K may have heard J's Where-Are-You directly, in which
  1591.            case it adds its own address to the front of the list of routers.
  1592.  
  1593.            When K hears the J Where-Are-You, it sends the I-Am-Here to the
  1594.            all-systems address.  The "best" router on J's "heard" list
  1595.  
  1596.  
  1597.  
  1598. Simpson                  expires in six months                 [Page 28]
  1599. DRAFT                       system discovery                    May 1993
  1600.  
  1601.  
  1602.            sends a copy of the I-Am-Here to J, with a substitute list of
  1603.            routers which can hear J.  The list is ordered by the
  1604.            intersection of those routers which can also hear K.
  1605.  
  1606.            At this point, the routing fabric knows which routers are heard
  1607.            by J and K, and which routers can hear J and K.  J and K know
  1608.            whether they can hear each other directly.  If not, they know
  1609.            the "best" next hop router (which may not be the same in both
  1610.            directions).
  1611.  
  1612.            Unlike the fully-connected scenarios, this scheme requires that
  1613.            the I-Am-Here is sent from time to time to keep the map updated.
  1614.            However, only routers need store the information.
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653. Simpson                  expires in six months                 [Page 29]
  1654. DRAFT                       system discovery                    May 1993
  1655.  
  1656.  
  1657. 4.  Additional ICMP Packets
  1658.  
  1659.    The Packet format and basic facilities are already defined for ICMP
  1660.    [3], as modified for SIP [1].
  1661.  
  1662.    Up-to-date values of the ICMP Type field are specified in the most
  1663.    recent "Assigned Numbers" RFC [2].  This document concerns the
  1664.    following values:
  1665.  
  1666.       <TBD>   Where-Are-You
  1667.       <TBD>   I-Am-Here
  1668.  
  1669.  
  1670.  
  1671.  
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677.  
  1678.  
  1679.  
  1680.  
  1681.  
  1682.  
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708. Simpson                  expires in six months                 [Page 30]
  1709. DRAFT                       system discovery                    May 1993
  1710.  
  1711.  
  1712. 4.1.  Where-Are-You
  1713.  
  1714.    A summary of the Where-Are-You message format is shown below.  The
  1715.    fields are transmitted from left to right.
  1716.  
  1717.     0                   1                   2                   3
  1718.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1719.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1720.    |     Type      |     Code      |          Checksum             |
  1721.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1722.    |                           Reserved                            |
  1723.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1724.    |                                                               |
  1725.    +                       System Identifier                       +
  1726.    |                                                               |
  1727.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1728.    |   Extensions ...
  1729.    +-+-+-+-+-+-+-+-+-+-+-+-+
  1730.  
  1731.  
  1732.    Type
  1733.  
  1734.       <TBD>
  1735.  
  1736.    Code
  1737.  
  1738.       The Code field is one octet.  Up-to-date values of the I-Am-Here
  1739.       Code field are specified in the most recent "Assigned Numbers" RFC
  1740.       [2].  Current values are assigned as follows:
  1741.  
  1742.            0     RESERVED
  1743.            1     End-System Solicitation
  1744.            2     Intermediate-System Solicitation
  1745.  
  1746.  
  1747.    Checksum
  1748.  
  1749.       The ICMP Checksum.
  1750.  
  1751.    System Identifier
  1752.  
  1753.       The System Identifier field is eight octets in length, and
  1754.       contains the identifier of the system which is sought.  For an
  1755.       Intermediate-System Solicitation, the field is unused and remains
  1756.       zero filled.
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.  
  1763. Simpson                  expires in six months                 [Page 31]
  1764. DRAFT                       system discovery                    May 1993
  1765.  
  1766.  
  1767.    Extensions
  1768.  
  1769.       The Extensions field is variable in length and contains zero or
  1770.       more Extensions.  These Extensions are described in a later
  1771.       section.
  1772.  
  1773.  
  1774.  
  1775. 4.1.1.  Description
  1776.  
  1777.    The Where-Are-You message is used to determine the presence and
  1778.    availability of the next hop.  This message is also used for resource
  1779.    reservation and policy route determination.
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.  
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798.  
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818. Simpson                  expires in six months                 [Page 32]
  1819. DRAFT                       system discovery                    May 1993
  1820.  
  1821.  
  1822. 4.2.  I-Am-Here
  1823.  
  1824.    A summary of the I-Am-Here message format is shown below.  The fields
  1825.    are transmitted from left to right.
  1826.  
  1827.     0                   1                   2                   3
  1828.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  1829.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1830.    |     Type      |     Code      |          Checksum             |
  1831.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1832.    |        Sequence Number        |          LifeTime             |
  1833.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1834.    |                                                               |
  1835.    +                       System Identifier                       +
  1836.    |                                                               |
  1837.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1838.    |   Extensions ...
  1839.    +-+-+-+-+-+-+-+-+-+-+-+-+
  1840.  
  1841.  
  1842.    Type
  1843.  
  1844.       <TBD>
  1845.  
  1846.    Code
  1847.  
  1848.       The Code field is one octet.  Up-to-date values of the I-Am-Here
  1849.       Code field are specified in the most recent "Assigned Numbers" RFC
  1850.       [2].  Current values are assigned as follows:
  1851.  
  1852.            0     RESERVED
  1853.            1     End-System Advertisement
  1854.            2     Intermediate-System Advertisement
  1855.            3     Local Redirect
  1856.            4     Remote Redirect
  1857.  
  1858.  
  1859.    Checksum
  1860.  
  1861.       The ICMP Checksum.
  1862.  
  1863.    Sequence Number
  1864.  
  1865.       The Sequence Number field is two octets in length, and contains
  1866.       the number of I-Am-Heres sent.  This number MUST include this
  1867.       advertisement.
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873. Simpson                  expires in six months                 [Page 33]
  1874. DRAFT                       system discovery                    May 1993
  1875.  
  1876.  
  1877.    LifeTime
  1878.  
  1879.       The LifeTime field is two octets in length, and indicates the
  1880.       seconds remaining before the entry is considered invalid.
  1881.  
  1882.    System Identifier
  1883.  
  1884.       The System Identifier field is eight octets in length, and
  1885.       contains the primary identifier for this system.  Other
  1886.       identifiers are indicated with the Other-Identifier extension.
  1887.  
  1888.    Extensions
  1889.  
  1890.       The Extensions field is variable in length and contains zero or
  1891.       more Extensions.  These Extensions are described in a later
  1892.       section.
  1893.  
  1894.  
  1895. 4.2.1.  Description
  1896.  
  1897.    The I-Am-Here message is used to announce the presence of an
  1898.    intermediate or end system, to indicate changes in the topology, and
  1899.    to support system mobility.
  1900.  
  1901.    It contains all of the information now in the old Router
  1902.    Advertisement, ES Hello, IS Hello, OSPF Hello and RSPF Hello.
  1903.  
  1904.  
  1905.    Intermediate Systems
  1906.  
  1907.       The message is sent by each intermediate-system periodically to
  1908.       the all-systems multicast.  The information is stored by all
  1909.       systems.
  1910.  
  1911.       The message is also sent in response to a Where-Are-You.
  1912.  
  1913.    End-Systems
  1914.  
  1915.       The message is sent in response to a Where-Are-You.  The
  1916.       information is stored only by the affected systems.
  1917.  
  1918.    Local Redirect
  1919.  
  1920.       The message is sent in response to changes in the routing.  The
  1921.       information is stored only by the affected systems.
  1922.  
  1923.  
  1924.  
  1925.  
  1926.  
  1927.  
  1928. Simpson                  expires in six months                 [Page 34]
  1929. DRAFT                       system discovery                    May 1993
  1930.  
  1931.  
  1932.    Remote Redirect
  1933.  
  1934.       The message is sent to indicate movement of a system beyond the
  1935.       local zone.  The information is stored only by the affected
  1936.       systems.
  1937.  
  1938.  
  1939.  
  1940.  
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983. Simpson                  expires in six months                 [Page 35]
  1984. DRAFT                       system discovery                    May 1993
  1985.  
  1986.  
  1987. 5.  Extensions
  1988.  
  1989.    Extensions allow variable amounts of information to be carried within
  1990.    each Advertisement or Solicitation packet.  Some extensions are
  1991.    common to both packet types.
  1992.  
  1993.    The end of the list of Extensions is indicated by the Payload Length
  1994.    of the SIP packet.
  1995.  
  1996.    A summary of the Extensions format is shown below.  The fields are
  1997.    transmitted from left to right.
  1998.  
  1999.     0                   1
  2000.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9
  2001.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2002.    |     Type      |    Length     |    Data ...
  2003.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2004.  
  2005.  
  2006.    Type
  2007.  
  2008.       The Type field is one octet and indicates the type of Extension.
  2009.       Up-to-date values of the Extension Type field are specified in the
  2010.       most recent "Assigned Numbers" RFC [2].  Current values are
  2011.       assigned as follows:
  2012.  
  2013.            1     Media-Access
  2014.            2     Other-Identifier
  2015.            3     Routing-Information
  2016.            4     System-Heard
  2017.            5     Security-Information
  2018.            6     Service-Information
  2019.            7     Transit-Information
  2020.  
  2021.  
  2022.    Length
  2023.  
  2024.       The Length field is one octet and indicates the length of the Data
  2025.       field which has been used.
  2026.  
  2027.       Each Extension ends on an octet boundary which is an integral
  2028.       multiple of four octets.  Any unused portion of the Data field is
  2029.       padded with zeros.
  2030.  
  2031.       length          actual
  2032.       0 through 2        4
  2033.       3 through 6        8
  2034.       7 through 10      12
  2035.  
  2036.  
  2037.  
  2038. Simpson                  expires in six months                 [Page 36]
  2039. DRAFT                       system discovery                    May 1993
  2040.  
  2041.  
  2042.    Data
  2043.  
  2044.       The Data field is zero or more octets and contains the value or
  2045.       other information for this Extension.  The format and length of
  2046.       the Data field is determined by the Type and Length fields.
  2047.  
  2048.  
  2049.  
  2050.  
  2051.  
  2052.  
  2053.  
  2054.  
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093. Simpson                  expires in six months                 [Page 37]
  2094. DRAFT                       system discovery                    May 1993
  2095.  
  2096.  
  2097. 5.1.  Media-Access
  2098.  
  2099. A summary of the Media-Access extension format is shown below.  The
  2100. fields are transmitted from left to right.
  2101.  
  2102.  0                   1                   2                   3
  2103.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2104. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2105. |     Type      |    Length     |           Media Type          |
  2106. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2107. |     MAC Address ...
  2108. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2109.  
  2110.  
  2111. Type
  2112.  
  2113.      1
  2114.  
  2115. Length
  2116.  
  2117.      >= 3
  2118.  
  2119. Media Type
  2120.  
  2121.    The Media Type field is two octets in length.  The value of this
  2122.    field is the same as the Hardware Type used in ARP.  Up-to-date
  2123.    values of the Hardware Type field are specified in the most recent
  2124.    "Assigned Numbers" RFC [2].
  2125.  
  2126.       [Should we use the ifType from MIB-II instead?]
  2127.  
  2128. MAC Address
  2129.  
  2130.    The MAC Address field is variable in length, and contains the media
  2131.    address which is used to access this system.
  2132.  
  2133.    The MAC Address is always specified in Canonical order.
  2134.  
  2135. The Media-Access extension MUST be included in those messages sent from
  2136. an interface on a multi-access media.
  2137.  
  2138. It MUST NOT be included in a message sent from a point-to-point
  2139. interface, or in messages such as the Remote Redirect which pass through
  2140. intermediate systems.
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148. Simpson                  expires in six months                 [Page 38]
  2149. DRAFT                       system discovery                    May 1993
  2150.  
  2151.  
  2152. 5.2.  Other-Identifier
  2153.  
  2154. A summary of the Other-Identifier extension format is shown below.  The
  2155. fields are transmitted from left to right.
  2156.  
  2157.  0                   1                   2                   3
  2158.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2159. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2160. |     Type      |    Length     |                   |Prefix Size|
  2161. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2162. |                            Metric                             |
  2163. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2164. |                                                               |
  2165. +                      Interface Identifier                     +
  2166. |                                                               |
  2167. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2168.  
  2169.  
  2170. Type
  2171.  
  2172.      2
  2173.  
  2174. Length
  2175.  
  2176.     14
  2177.  
  2178. Prefix Size
  2179.  
  2180.    The Prefix Size field is six bits in length, and indicates the number
  2181.    of bits in the Interface Identifier which define the prefix mask for
  2182.    the link.  The value ranges from 0 to 62.
  2183.  
  2184.    If the Interface Identifier does not indicate a valid prefix, the
  2185.    value is zero.
  2186.  
  2187.    End-Systems MUST have a Prefix Size of zero.
  2188.  
  2189. Metric
  2190.  
  2191.    The Metric field is four octets in length, and indicates the
  2192.    preference level for use of this system to forward packets to the
  2193.    Interface Identifier.  Lower values indicate greater preference.
  2194.  
  2195.    End-Systems MUST set this field to zero.
  2196.  
  2197. Interface Identifier
  2198.  
  2199.    The Interface Identifier field is eight octets in length, and
  2200.  
  2201.  
  2202.  
  2203. Simpson                  expires in six months                 [Page 39]
  2204. DRAFT                       system discovery                    May 1993
  2205.  
  2206.  
  2207.    contains an identifier for this system.  This may be another
  2208.    identifier for the same interface that sent the message, or may
  2209.    identify another interface on the same system which sent the message.
  2210.  
  2211. Every identifier for every interface is listed in each I-Am-Here
  2212. message.
  2213.  
  2214. This supports multiple identifiers per interface, as well as multi-homed
  2215. systems.
  2216.  
  2217. When a number of interfaces, such as point-to-point interfaces, may be
  2218. aggregated with the same prefix, only one extension need be included.
  2219.  
  2220. This enables end-systems to determine the best next hop without sending
  2221. a Where-Are-You solicitation when the next hop is on another interface
  2222. attached to the same advertising system.
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.  
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.  
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.  
  2254.  
  2255.  
  2256.  
  2257.  
  2258. Simpson                  expires in six months                 [Page 40]
  2259. DRAFT                       system discovery                    May 1993
  2260.  
  2261.  
  2262. 5.3.  Routing-Information
  2263.  
  2264. A summary of the Routing-Information extension format is shown below.
  2265. The fields are transmitted from left to right.
  2266.  
  2267.  0                   1                   2                   3
  2268.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2269. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2270. |     Type      |    Length     |  Preference   |D|B|Prefix Size|
  2271. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2272. |              MRU              |     Zone      |   Priority    |
  2273. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2274. |                                                               |
  2275. +                      Interface Identifier                     +
  2276. |                                                               |
  2277. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2278.  
  2279.  
  2280. Type
  2281.  
  2282.      3
  2283.  
  2284. Length
  2285.  
  2286.     14
  2287.  
  2288. Preference
  2289.  
  2290.    The Preference field is one octet in length, and indicates the
  2291.    preference level for use of this system to forward packets to the
  2292.    Interface Identifier.  Higher values indicate greater preference.
  2293.  
  2294. Designated Bit
  2295.  
  2296.    The Designated Bit indicates that the System Identifier is the
  2297.    Designated Router.
  2298.  
  2299. Backup Bit
  2300.  
  2301.    The Backup Bit indicates that the System Identifier is the Backup
  2302.    Designated Router.
  2303.  
  2304. Prefix Size
  2305.  
  2306.    The Prefix Size field is six bits in length, and indicates the number
  2307.    of bits in the Interface Identifier which define the prefix mask for
  2308.    the link.  The value ranges from 0 to 62.
  2309.  
  2310.  
  2311.  
  2312.  
  2313. Simpson                  expires in six months                 [Page 41]
  2314. DRAFT                       system discovery                    May 1993
  2315.  
  2316.  
  2317.    If the Interface Identifier does not indicate a valid prefix, the
  2318.    value is zero.
  2319.  
  2320. MRU
  2321.  
  2322.    The Maximum Receive Unit field is two octets in length, and indicates
  2323.    the maximum size packet that the system will receive over the link.
  2324.  
  2325. Zone
  2326.  
  2327.    The Zone field is one octet in length, and indicates the zone for the
  2328.    link.  A value of zero indicates that no zone has been assigned.
  2329.  
  2330. Priority
  2331.  
  2332.    The Priority field is one octet in length, and indicates the priority
  2333.    for election to Designated Backup.  A value of zero indicates that
  2334.    the system is not eligible.
  2335.  
  2336. Interface Identifier
  2337.  
  2338.    The Interface Identifier field is eight octets in length, and
  2339.    contains an identifier for this interface.
  2340.  
  2341. This extension is sent only by Intermediate-Systems.
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368. Simpson                  expires in six months                 [Page 42]
  2369. DRAFT                       system discovery                    May 1993
  2370.  
  2371.  
  2372. 5.4.  System-Heard
  2373.  
  2374. A summary of the System-Heard extension format is shown below.  The
  2375. fields are transmitted from left to right.
  2376.  
  2377.  0                   1                   2                   3
  2378.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2379. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2380. |     Type      |    Length     |     Speed     |D|B|Prefix Size|
  2381. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2382. |              MRU              |                               |
  2383. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2384. |                                                               |
  2385. +                       System Identifier                       +
  2386. |                                                               |
  2387. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2388. |        Sequence Number        |      Remaining LifeTime       |
  2389. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2390. |                            Quality                            |
  2391. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2392. |                      Advertisement Count                      |
  2393. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2394. |                          Error Count                          |
  2395. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2396.  
  2397.  
  2398. Type
  2399.  
  2400.      4
  2401.  
  2402. Length
  2403.  
  2404.     30
  2405.  
  2406. Designated Bit
  2407.  
  2408.    The Designated Bit indicates that the System Identifier is the
  2409.    Designated Router.
  2410.  
  2411. Backup Bit
  2412.  
  2413.    The Backup Bit indicates that the System Identifier is the Backup
  2414.    Designated Router.
  2415.  
  2416. Prefix Size
  2417.  
  2418.    The Prefix Size field is six bits in length, and indicates the number
  2419.    of bits in the System Identifier which define the prefix mask for the
  2420.  
  2421.  
  2422.  
  2423. Simpson                  expires in six months                 [Page 43]
  2424. DRAFT                       system discovery                    May 1993
  2425.  
  2426.  
  2427.    link.  The value ranges from 0 to 62.
  2428.  
  2429.    If the System Identifier does not indicate a valid prefix, the value
  2430.    is zero.
  2431.  
  2432.    End-Systems MUST have a Prefix Size of zero.
  2433.  
  2434. MRU
  2435.  
  2436.    The Maximum Receive Unit field is two octets in length, and indicates
  2437.    the maximum size packet that the system will receive over the link.
  2438.  
  2439. Speed
  2440.  
  2441.    The Speed field is one octet in length, and indicates the speed of
  2442.    the link over which the advertisement or solicitation was heard.
  2443.    Higher values indicate greater speed.  The speed value is related to
  2444.    int( 10 * ln( speed / 100 ) ) in bits per second.
  2445.  
  2446.       After considerable trial and error, this formula was used because
  2447.       it gave the best distribution for distinguishing medium speed
  2448.       links, and fit reasonably well in the realm of currently
  2449.       envisioned speeds.  It has an upper limit of 11.87 Terabits per
  2450.       second.  (It also has a convenient button on the calculator.)
  2451.  
  2452.         0      link is down
  2453.         1 - 9  reserved
  2454.        10      300 or less
  2455.        24    1,200                  96      1,544,000 T1
  2456.        31    2,400                  99      2,048,000 E1
  2457.        38    4,800                 106      4,000,000 Token Ring
  2458.        42    7,200                 110      6,312,000 T2
  2459.        45    9,600                 115     10,000,000 Ethernet
  2460.        49   14,400                 119     16,000,000 Token Ring
  2461.        52   19,200                 130     44,736,000 T3
  2462.        56   28,800
  2463.        59   38,400                 142    155,520,000 STS-3/STM-1
  2464.        63   57,600                 202    622,080,000 STS-12/STM-4
  2465.        64   64,000                 216  2,488,320,000 STS-48/STM-16
  2466.        71  128,000
  2467.        73  153,600
  2468.        78  256,000
  2469.  
  2470.  
  2471. System Identifier
  2472.  
  2473.    The System Identifier field is eight octets in length, and contains
  2474.    the primary identifier for the system.
  2475.  
  2476.  
  2477.  
  2478. Simpson                  expires in six months                 [Page 44]
  2479. DRAFT                       system discovery                    May 1993
  2480.  
  2481.  
  2482. Sequence Number
  2483.  
  2484.    The Sequence Number field is two octets in length, and contains the
  2485.    last heard sequence number from the system.
  2486.  
  2487. Remaining LifeTime
  2488.  
  2489.    The Remaining LifeTime field is two octets in length, and indicates
  2490.    the seconds remaining before the entry is considered invalid.
  2491.  
  2492. Quality
  2493.  
  2494.    The Quality field is four octets in length, and contains an
  2495.    indication of the signal quality received from this system.  Higher
  2496.    values indicate greater quality.
  2497.  
  2498. Advertisement Count
  2499.  
  2500.    The Advertisement Count field is four octets in length, and indicates
  2501.    the number of advertisements that have been heard from the identified
  2502.    system.
  2503.  
  2504. Error Count
  2505.  
  2506.    The Error Count field is four octets in length, and indicates the
  2507.    number of errors which have been detected on the link with the
  2508.    identified system.
  2509.  
  2510. The System Heard extension MUST be included in every I-Am-Here.
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.  
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530.  
  2531.  
  2532.  
  2533. Simpson                  expires in six months                 [Page 45]
  2534. DRAFT                       system discovery                    May 1993
  2535.  
  2536.  
  2537. 5.5.  Security-Information
  2538.  
  2539. A summary of the Security-Information extension format is shown below.
  2540. The fields are transmitted from left to right.
  2541.  
  2542.  0                   1                   2                   3
  2543.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2544. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2545. |     Type      |    Length     |                               |
  2546. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2547. |                                                               |
  2548. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2549. |                                                               |
  2550. |                                                               |
  2551. |                                                               |
  2552. |                         Compartments                          |
  2553. |                                                               |
  2554. |                                                               |
  2555. |                                                               |
  2556. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2557.  
  2558.  
  2559. Type
  2560.  
  2561.      5
  2562.  
  2563. Length
  2564.  
  2565.     22
  2566.  
  2567. Compartments
  2568.  
  2569.    The Compartments field is sixteen octets in length.
  2570.  
  2571. This extension is included in the Intermediate-System I-Am-Here to
  2572. indicate that it will accept transit traffic for the designated security
  2573. compartments.
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588. Simpson                  expires in six months                 [Page 46]
  2589. DRAFT                       system discovery                    May 1993
  2590.  
  2591.  
  2592. 5.6.  Service-Information
  2593.  
  2594. A summary of the Service-Information extension format is shown below.
  2595. The fields are transmitted from left to right.
  2596.  
  2597.  0                   1                   2                   3
  2598.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2599. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2600. |     Type      |    Length     |                               |
  2601. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2602. |                                                               |
  2603. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2604. |                                                               |
  2605. +                       System Identifier                       +
  2606. |                                                               |
  2607. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2608.  
  2609.  
  2610. Type
  2611.  
  2612.      6
  2613.  
  2614. Length
  2615.  
  2616.     14
  2617.  
  2618. System Identifier
  2619.  
  2620.    The System Identifier field is eight octets in length, and contains
  2621.    an identifier for this system.  This may be another identifier for
  2622.    the same interface that sent the message, or may identify another
  2623.    interface on the same system which sent the message.
  2624.  
  2625.  
  2626.  
  2627.  
  2628.  
  2629.  
  2630.  
  2631.  
  2632.  
  2633.  
  2634.  
  2635.  
  2636.  
  2637.  
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643. Simpson                  expires in six months                 [Page 47]
  2644. DRAFT                       system discovery                    May 1993
  2645.  
  2646.  
  2647. 5.7.  Transit-Information
  2648.  
  2649. A summary of the Transit-Information extension format is shown below.
  2650. The fields are transmitted from left to right.
  2651.  
  2652.  0                   1                   2                   3
  2653.  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  2654. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2655. |     Type      |    Length     |               |      QoS      |
  2656. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2657. |                             Metric                            |
  2658. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  2659.  
  2660.  
  2661. Type
  2662.  
  2663.      7
  2664.  
  2665. Length
  2666.  
  2667.      6
  2668.  
  2669. QoS
  2670.  
  2671.    The Quality of Service field is one octet in length, and indicates a
  2672.    service for which transit will be accepted.
  2673.  
  2674. Metric
  2675.  
  2676.    The Metric field is four octets in length, and indicates the
  2677.    preference level for use of this network link to forward packets of
  2678.    the indicated service.  Lower values indicate greater preference.
  2679.  
  2680. This extension is included in the Intermediate-System I-Am-Here to
  2681. indicate that it will accept transit traffic.  If this extension is not
  2682. included, the system will treat the link as a stub network.
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698. Simpson                  expires in six months                 [Page 48]
  2699. DRAFT                       system discovery                    May 1993
  2700.  
  2701.  
  2702. Security Considerations
  2703.  
  2704.  
  2705.  
  2706. References
  2707.  
  2708.    [1]
  2709.  
  2710.    [2]
  2711.  
  2712.  
  2713. Acknowledgments
  2714.  
  2715.  
  2716.  
  2717. Chair's Address
  2718.  
  2719.    The working group can be contacted via the current chairs:
  2720.  
  2721.  
  2722.  
  2723.  
  2724.  
  2725. Author's Address
  2726.  
  2727.    Questions about this memo can also be directed to:
  2728.  
  2729.       William Allen Simpson
  2730.       Daydreamer
  2731.       Computer Systems Consulting Services
  2732.       P O Box 6205
  2733.       East Lansing, MI  48826-6205
  2734.  
  2735.       EMail: Bill.Simpson@um.cc.umich.edu
  2736.  
  2737.  
  2738.  
  2739.  
  2740.  
  2741.  
  2742.  
  2743.  
  2744.  
  2745.  
  2746.  
  2747.  
  2748.  
  2749.  
  2750.  
  2751.  
  2752.  
  2753. Simpson                  expires in six months                 [Page 49]
  2754. DRAFT                       system discovery                    May 1993
  2755.  
  2756.  
  2757.                            Table of Contents
  2758.  
  2759.  
  2760.      1.     Terminology ...........................................    1
  2761.  
  2762.      2.     Criteria ..............................................    2
  2763.  
  2764.      3.     Design and Use ........................................    7
  2765.         3.1       System Identification ...........................    8
  2766.         3.2       Intermediate System Advertisements ..............    9
  2767.            3.2.1  Constants .......................................   10
  2768.            3.2.2  Configuration ...................................   10
  2769.            3.2.3  Implementation ..................................   12
  2770.         3.3       Intermediate System Discovery ...................   16
  2771.            3.3.1  Configuration ...................................   16
  2772.            3.3.2  Implementation ..................................   17
  2773.         3.4       Initial Intermediate-System Solicitations .......   19
  2774.            3.4.1  Constants .......................................   19
  2775.            3.4.2  Implementation ..................................   19
  2776.         3.5       Service Advertisments ...........................   22
  2777.            3.5.1  Implementation ..................................   22
  2778.         3.6       Service Discovery ...............................   24
  2779.            3.6.1  Domain Name Service .............................   24
  2780.            3.6.2  Self-Configuration Service ......................   24
  2781.         3.7       Prefix Discovery ................................   26
  2782.         3.8       Zone Discovery ..................................   26
  2783.            3.8.1  Abstraction Algorithm ...........................   26
  2784.         3.9       Next Hop Determination ..........................   27
  2785.            3.9.1  Configuration ...................................   27
  2786.            3.9.2  Implementation ..................................   27
  2787.            3.9.3  Examples of Use .................................   28
  2788.  
  2789.      4.     Additional ICMP Packets ...............................   30
  2790.         4.1       Where-Are-You ...................................   31
  2791.            4.1.1  Description .....................................   32
  2792.         4.2       I-Am-Here .......................................   33
  2793.            4.2.1  Description .....................................   34
  2794.  
  2795.      5.     Extensions ............................................   36
  2796.         5.1       Media-Access ....................................   38
  2797.         5.2       Other-Identifier ................................   39
  2798.         5.3       Routing-Information .............................   41
  2799.         5.4       System-Heard ....................................   43
  2800.         5.5       Security-Information ............................   46
  2801.         5.6       Service-Information .............................   47
  2802.         5.7       Transit-Information .............................   48
  2803.  
  2804.      SECURITY CONSIDERATIONS ......................................   49
  2805.  
  2806.  
  2807.  
  2808. Simpson                  expires in six months                 [Page ii]
  2809. DRAFT                       system discovery                    May 1993
  2810.  
  2811.  
  2812.      REFERENCES ...................................................   49
  2813.  
  2814.      ACKNOWLEDGEMENTS .............................................   49
  2815.  
  2816.      CHAIR'S ADDRESS ..............................................   49
  2817.  
  2818.      AUTHOR'S ADDRESS .............................................   49
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.  
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.  
  2842.  
  2843.  
  2844.  
  2845.  
  2846.  
  2847.  
  2848.  
  2849.  
  2850.  
  2851.  
  2852.  
  2853.  
  2854.  
  2855.  
  2856.  
  2857.  
  2858.  
  2859.  
  2860.  
  2861.  
  2862.  
  2863.